/*--------------------------------------------------------------------------
main.c
****************************************
**  Copyright  (C)    2021-2022   **
**  Web:              http://rothd.cn   **
****************************************
--------------------------------------------------------------------------*/
#include "mc31xx_hal.h"
#include "MC3172.h"
#include "math.h"
//#include "./GPIO_GPCOM_TIMER_Example.c"
#include <string.h>
#include "printf.h"
#include "dht11.h"
#include "hmc5883.h"
#include "blb.h"
#include "common.h"
#include "my_uart.h"
////////////////////////////////////////////////////////////




//hal用户初始化，在所有hal线程运行之前执行，由hal库内部调用
void HAL_Main_init(void)
{
    //运行指示灯
    GPIO_InitTypeDef GPIO_Initure;
    GPIO_Initure.Pin = GPIO_PIN_7|GPIO_PIN_1|GPIO_PIN_2;
    GPIO_Initure.OutputEn = ENABLE;
    GPIO_Initure.InputEn = DISABLE;
    GPIO_Initure.PullupEn = DISABLE;
    HAL_GPIO_Init(GPIOD, &GPIO_Initure);

    uart8_init();       //串口8用作log打印
    uart9_init();
} 
////////////////////////////////////////////////////////////
extern UART_HandleTypeDef huart8;
void thread0_main(void) //启动线程
{
    HAL_USR_Init();     //这个函数不用改，用户代码写在HAL_Main_init()中

    printf("测试1，修改波特率");
    while(1){
        HAL_Delay(10000);
        HAL_UART_SetSpeed(&huart8,115200);
      printf("测试2，修改波特率");  
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////
void thread1_main(void) 
{
    u32 ret;
    HAL_Thread_Start(); //所有HAL线程必须以此开头

    while(1){
        mUart.com9.rxLen=uart9_recv(mUart.com9.rxBuf,UART9_RXBUF_LENGTH);
        mUart.com9.rxcallback(mUart.com9.rxBuf,mUart.com9.rxLen);
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////
void thread2_main(void) 
{
    HAL_Thread_Start();
    while(1){
        
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////
//已用作管理线程，在manager.c内工作
//void thread3_main(void)
//{
//    while (1) {
//    }
//    HAL_Thread_End();
//}

////////////////////////////////////////////////////////////

void thread4_main(void)
{
    u32 ret;
    HAL_Thread_Start();
    while(1){
        
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread5_main(void)
{
    HAL_Thread_Start();
   // printf("THREAD_ID=%d,THREAD_FREQCFG_VALUE=%d,M=%.02f\r\n", THREAD_ID, THREAD_FREQCFG_VALUE, 200 / (4.0 * mypow(2, THREAD_FREQCFG_VALUE >> 4)));
    while(1){
       
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread6_main(void)
{
    HAL_Thread_Start();
   // printf("THREAD_ID=%d,THREAD_FREQCFG_VALUE=%d,M=%.02f\r\n", THREAD_ID, THREAD_FREQCFG_VALUE, 200 / (4.0 * mypow(2, THREAD_FREQCFG_VALUE >> 4)));
    while(1){
        //user code section
        //printf("[%s:%d][thread %d]\r\n", __FILE__, __LINE__, THREAD_ID);
        delay_us(1);
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread7_main(void)
{
    HAL_Thread_Start();
    while(1){
        //user code section
        //printf("[%s:%d][thread %d]\r\n", __FILE__, __LINE__, THREAD_ID);
        delay_us(10000);
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread8_main(void)
{
    HAL_Thread_Start();
    while(1){
        //user code section
        //printf("[%s:%d][thread %d]\r\n", __FILE__, __LINE__, THREAD_ID);
        delay_us(10000);
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread9_main(void)
{
    HAL_Thread_Start();
    while(1){
        //user code section
        //printf("[%s:%d][thread %d]\r\n", __FILE__, __LINE__, THREAD_ID);
        delay_us(10000);
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread10_main(void)
{
    HAL_Thread_Start();
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread11_main(void)
{
    HAL_Thread_Start();
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread12_main(void)
{
    HAL_Thread_Start();
    while (1) {
        HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET);
        HAL_Delay(1500);
        HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET);
        HAL_Delay(1500);
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread13_main(void)
{
    u8 temp, humi;
    HAL_Thread_Start();
    // DHT11_init();
    while(1){
        //user code section
        // DHT11_read_data(&temp,&humi);
        // printf("温度：%d   湿度：%d\r\n",temp,humi);
        // delay_us(1000000);
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread14_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread15_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread16_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread17_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread18_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread19_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread20_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread21_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread22_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread23_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread24_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread25_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread26_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread27_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread28_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread29_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread30_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread31_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread32_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread33_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread34_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread35_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread36_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread37_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread38_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread39_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread40_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread41_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread42_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread43_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread44_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread45_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread46_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread47_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread48_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread49_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread50_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread51_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread52_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread53_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread54_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread55_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread56_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread57_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread58_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread59_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread60_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread61_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread62_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////

void thread63_main(void)
{
    while(1){
        //user code section
    }
    HAL_Thread_End();
}

////////////////////////////////////////////////////////////





